<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>编写选择排序，并找出选择排序和冒泡排序的不同点</title>
</head>
<body>
  <script>
    var arr = [38, 26, 89, 56, 17, 44]
    console.log('选择排序前：' + arr)
    console.log('冒泡排序前：' + arr)
    // 选择排序
    function select() {
      for(let i = 0; i < arr.length; i++) {
        var min = 1
        for(let j = i + 1; j < arr.length; j++) {
          if(arr[j] < arr[min]){
            min = j
          }
        }
        var temp = arr[i]
        arr[i] = arr[min]
        arr[min] = temp
      }
      console.log('选择排序后：' + arr)
    }
    select()

    // 冒泡排序
    function bubbling() {
      for(let i = 0; i < arr.length; i++) {
        for(let j = 0; j < arr.length - i; j++) {
          if(arr[j] > arr[j + 1]){
            var sum = arr[j]
            arr[j] = arr[j + 1]
            arr[j + 1] = sum
          }
        }
      }
      console.log('冒泡排序后：' + arr)
    }
    bubbling()

    /*
      不同点：
          1. 冒泡排序是比较相邻位置的两个数，而选择排序是按顺序比较，找最大值或者最小值
          2. 冒泡排序每一轮比较后，位置不对都需要换位置，选择排序每一轮比较都只需要换一次位置
          3. 冒泡排序是通过数去找位置，选择排序是给定位置去找数
    */
  </script>
</body>
</html>